Mobile wireless devices, such as a cellular telephone or a wireless personal digital assistant, can provide a wide variety of communication services including, for example, voice communication, text messaging, internet browsing, and electronic mail. Mobile wireless devices can operate connected to a wireless network to retrieve different types of stored data, including audio data (such as voice messages and audio clips), text data (such as email) and video data (such as video clips). The stored data can be located on one or more servers remotely situated and separated from the mobile wireless device. An application resident on the mobile wireless device can retrieve some of the remotely stored data to store locally on the mobile wireless device and to display to a user thereof. The stored data at the server can dynamically change over time, e.g. a new voice message can be received and placed in a voice mail queue, new email can arrive in an email database, and additional video clips can be added to a video database repository. The user of the mobile wireless device can desire to receive updated stored data from the remote server with minimal delay.
A resource efficient method to receive dynamically changing information at a mobile wireless device from a remote server can be a “push” service, in which the dynamically changed information is “pushed” to the mobile wireless device by the remote server as the information becomes available. Some applications can “push” a notification while waiting until the user requests to retrieve the complete new information, such providing a voice mail notification, while other services can push the complete updated information as available, such as a background software update. Some services and servers, however, can be incapable of being configured for a “push” service, and instead the mobile wireless device can be required to “pull” the dynamically changing data based on an intermittent polling method.
The mobile wireless device can poll the remotely located server at fixed time intervals based on a user setting. Frequent polling for new data can minimize the time delay that data waits at the remote server before being fetched; however, the frequency of polling can be mismatched to the frequency at which the new data arrives at the remote server. As polling by the mobile wireless device can require an active connection between the mobile wireless device and the wireless network, the mobile wireless device can consume power during the polling period. When the mobile wireless device polls the remote server and finds that no new data, the mobile wireless device unnecessarily consumes battery power, as the mobile wireless device could have remained in an idle state instead. Thus, in the absence of a “push” data service, reducing the frequency of polling when using a “pull” data service can increase the battery life of the mobile wireless device. In addition, by reducing the frequency of polling, network resource consumption, due to an exchange of messages between the mobile wireless device and the wireless network to poll for new data, can also be reduced.
Applications on mobile wireless devices can offer a limited selection of fixed time intervals at which to set the frequency of polling for new data. Frequent polling can minimize delay incurred when new data arrives at the server but can increase power consumption at the mobile wireless device. Infrequent polling can increase delay before new data is received by the mobile wireless device, especially considering that the frequency at which data can arrive at a remote server can change substantially throughout a 24 hour daily cycle or for different days of a week. Fixed polling periods can be inflexible and can not adapt to changing patterns of usage for a given user of the mobile wireless device. For example, a user can receive an email at the remote server every 15 minutes during the day but every 2 hours at night. A single non-adaptive polling period setting on the mobile wireless device can be inappropriately matched to the frequency of data arrival at the server. Similarly, a user can receive email frequently during a work period and infrequently during a weekend or a vacation period. A method to adapt polling timers to a user's data usage pattern rather than require the user to configure the polling time interval manually and repeatedly to different fixed values can improve the user's experience of the mobile wireless device.
Thus there exists a need to adapt polling time intervals between a mobile wireless device and a remote servicer in a wireless network.